home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / lib / ubiquity / target-config / 30accessibility < prev    next >
Encoding:
Text File  |  2009-04-18  |  10.7 KB  |  177 lines

  1. #!/bin/sh
  2. # If you change this, please also change the copy in scripts/casper-bottom/30accessibility.
  3.  
  4. . /usr/share/debconf/confmodule
  5. . /etc/casper.conf
  6.  
  7. PREREQ=""
  8. DESCRIPTION="Configuring accessibility options..."
  9. db_get passwd/username
  10. TARGET_USERNAME="$RET"
  11.  
  12. gct() {
  13.     chroot /target sudo -u "$TARGET_USERNAME" gconftool-2 "$@"
  14. }
  15.  
  16. kderc_addtoprefixes() {
  17.     if [ -e "/target/etc/kde4rc" ]; then
  18.         sed -i "s|\\(prefixes=/usr/share/kubuntu-default-settings/kde-profile/default/\\)|\\1,$1|" /target/etc/kde4rc
  19.     fi
  20. }
  21.  
  22. # Code to remove an applet from the default panel setup
  23. # This is rather hacky, but I can't think of a one or two line regular
  24. # expression to do this any more efficiently. Patches welcome.
  25. # In addition, setting these via gconf also doesn't work for some reason.
  26. remove_applet()
  27. {
  28.         local line_no prior_line next_line
  29.  
  30.         line_no=$(grep -n "<string>$1</string>" /target/usr/share/gconf/defaults/05_panel-default-setup.entries | cut -f 1 -d :)
  31.         prior_line=$((line_no-1))
  32.         next_line=$((line_no+1))
  33.         sed -i -n "${prior_line},${next_line}!p" /target/usr/share/gconf/defaults/05_panel-default-setup.entries
  34.         chroot /target update-gconf-defaults
  35. }
  36.  
  37. for x in $(cat /proc/cmdline); do
  38.                 case $x in
  39.                         # Lesser Visual Impairment
  40.                         access=v1)
  41.                         gct -s -t string /desktop/gnome/interface/gtk_theme HighContrastLargePrint
  42.                         gct -s -t string /desktop/gnome/interface/icon_theme HighContrast
  43.                         gct -s -t string /desktop/gnome/interface/monospace_font_name "monospace 18"
  44.                         gct -s -t string /desktop/gnome/interface/font_name "sans 18"
  45.                         gct -s -t string /apps/metacity/general/theme Atlanta
  46.                         gct -s -t string /desktop/gnome/background/picture_filename ""
  47.                         gct -s -t string /desktop/gnome/background/picture_options none
  48.                         gct -s -t string /desktop/gnome/background/primary_color \#666666
  49.                         gct -s -t string /desktop/gnome/background/secondary_color \#7F7F7F
  50.                         gct -s -t string /desktop/gnome/background/color_shading_type solid
  51.                         gct -s -t int /desktop/gnome/peripherals/mouse/cursor_size 48
  52.                         gct -s -t string /desktop/gnome/peripherals/mouse/cursor_theme whiteglass
  53.                         kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/lesser-visual-impairment/
  54.                         if [ -d /target/usr/share/xubuntu-default-settings/accessibility ]; then
  55.                             cp -a /target/usr/share/xubuntu-default-settings/accessibility/* /target/etc/xdg/
  56.                         fi
  57.                         ;;
  58.                         # Moderate Visual Impairment
  59.                         access=v2)
  60.                         gct -s -t bool /desktop/gnome/interface/accessibility true
  61.                         gct -s -t bool /apps/gksu/disable-grab true
  62.                         gct -s -t string /desktop/gnome/applications/window_manager/default /usr/bin/metacity
  63.                         gct -s -t bool /desktop/gnome/applications/at/visual/startup true
  64.                         gct -s -t string /desktop/gnome/applications/at/visual/exec orca
  65.  
  66.                         if [ -d /usr/share/xubuntu-default-settings ]; then
  67.                           apt-install gnome-orca gnome-mag
  68.                         fi
  69.  
  70.             if [ -x /target/usr/bin/orca ]; then
  71.                 if [ -f /home/$USERNAME/.orca/user-settings.py ]; then
  72.                     cp -r /home/$USERNAME/.orca /target/home/$TARGET_USERNAME/
  73.                     chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.orca
  74.                 else
  75.                     mkdir -p /target/home/$TARGET_USERNAME/.orca
  76.                     echo "import orca.settings" >> /target/home/$TARGET_USERNAME/.orca/user-settings.py
  77.                     echo "orca.settings.enableSpeech = True" >> /target/home/$TARGET_USERNAME/.orca/user-settings.py
  78.                     echo "orca.settings.enableMagnifier = True" >> /target/home/$TARGET_USERNAME/.orca/user-settings.py
  79.                     chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.orca
  80.                 fi
  81.             fi
  82.                         sed -i -e 's/# Host alias specification/Defaults\tenv_keep = "ORBIT_SOCKETDIR XDG_SESSION_COOKIE GTK_MODULES"\n\n# Host alias specification/g' /target/etc/sudoers
  83.  
  84.                         kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/lesser-visual-impairment/,/usr/share/kubuntu-default-settings/kde-profile/moderate-visual-impairment/
  85.                         ;;
  86.                         # Blindness
  87.                         access=v3)
  88.                         gct -s -t bool /desktop/gnome/interface/accessibility true
  89.                         gct -s -t bool /apps/gksu/disable-grab true
  90.                         gct -s -t string /desktop/gnome/applications/window_manager/default /usr/bin/metacity
  91.                         gct -s -t bool /desktop/gnome/applications/at/visual/startup true
  92.                         gct -s -t string /desktop/gnome/applications/at/visual/exec orca
  93.                         remove_applet fast_user_switch
  94.             if [ -x /target/usr/bin/pulse-session ]; then
  95.                 touch /target/home/$TARGET_USERNAME/.pulse_a11y_nostart
  96.                 chroot /target chown $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.pulse_a11y_nostart
  97.                 mkdir -p /target/home/$TARGET_USERNAME/.pulse
  98.                 echo "autospawn = no" > /target/home/$TARGET_USERNAME/.pulse/client.conf
  99.                 chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.pulse
  100.             fi
  101.                         sed -i -e 's/# Host alias specification/Defaults\tenv_keep = "ORBIT_SOCKETDIR XDG_SESSION_COOKIE GTK_MODULES"\n\n# Host alias specification/g' /target/etc/sudoers
  102.             if [ -x /target/usr/bin/orca ]; then
  103.                 if [ -f /home/$USERNAME/.orca/user-settings.py ]; then
  104.                     cp -r /home/$USERNAME/.orca /target/home/$TARGET_USERNAME/
  105.                     chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.orca
  106.                 else
  107.                     mkdir -p /target/home/$TARGET_USERNAME/.orca
  108.                     chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.orca
  109.                 fi
  110.             fi
  111.  
  112.                         if [ -d /usr/share/xubuntu-default-settings ]; then
  113.                           apt-install gnome-orca
  114.                         fi
  115.                         ;;
  116.                         # Braille
  117.                         braille=ask)
  118.                         gct -s -t bool /desktop/gnome/interface/accessibility true
  119.                         gct -s -t bool /desktop/gnome/applications/at/visual/startup true
  120.                         gct -s -t string /desktop/gnome/applications/at/visual/exec orca
  121.                         if [ -x /target/usr/bin/orca ]; then
  122.                 if [ -f /home/$USERNAME/.orca/user-settings.py ]; then
  123.                     cp -r /home/$USERNAME/.orca /target/home/$TARGET_USERNAME/
  124.                     chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.orca
  125.                 else
  126.                                     mkdir -p /target/home/$TARGET_USERNAME/.orca
  127.                     echo "import orca.settings" >> /target/home/$TARGET_USERNAME/.orca/user-settings.py
  128.                                     echo "orca.settings.enableSpeech = False" >> /target/home/$TARGET_USERNAME/.orca/user-settings.py
  129.                                     echo "orca.settings.enableBraille = True" >> /target/home/$TARGET_USERNAME/.orca/user-settings.py
  130.                     chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.orca
  131.                 fi
  132.                         fi
  133.                         gct -s -t bool /apps/gksu/disable-grab true
  134.                         gct -s -t string /desktop/gnome/applications/window_manager/default /usr/bin/metacity
  135.                         remove_applet fast_user_switch
  136.                         sed -i -e 's/# Host alias specification/Defaults\tenv_keep = "ORBIT_SOCKETDIR XDG_SESSION_COOKIE GTK_MODULES"\n\n# Host alias specification/g' /target/etc/sudoers
  137.             if [ -x /target/usr/bin/pulse-session ]; then
  138.                 touch /target/home/$TARGET_USERNAME/.pulse_a11y_nostart
  139.                 chroot /target chown $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.pulse_a11y_nostart
  140.                 mkdir -p /target/home/$TARGET_USERNAME/.pulse
  141.                 echo "autospawn = no" > /target/home/$TARGET_USERNAME/.pulse/client.conf
  142.                 chroot /target chown -R $TARGET_USERNAME.$TARGET_USERNAME /home/$TARGET_USERNAME/.pulse
  143.             fi
  144.                         ;;
  145.                         # Minor Motor Difficulties
  146.                         access=m1)
  147.                         gct -s -t bool /desktop/gnome/accessibility/keyboard/enable true
  148.                         gct -s -t bool /desktop/gnome/accessibility/keyboard/mousekeys_enable true
  149.                         gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_enable true
  150.                         gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_modifier_beep true
  151.                         gct -s -t bool /desktop/accessibility/gnome/keyboard/stickykeys_two_key_off false
  152.                         gct -s -t bool /desktop/gnome/peripherals/keyboard/repeat true
  153.                         gct -s -t int /desktop/gnome/peripherals/keyboard/delay 700
  154.                         gct -s -t int /desktop/gnome/peripherals/keyboard/rate 10
  155.                         gct -s -t bool /apps/gksu/disable-grab true
  156.                         kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/minor-motor-difficulties/
  157.                         if [ -e /target/etc/xdg/xfce4/mcs_settings/keyboard.xml ]; then
  158.                             sed -i 's/0/1/' /target/etc/xdg/xfce4/mcs_settings/keyboard.xml
  159.                         fi
  160.                         ;;
  161.                         # Motor Difficulties - pointing devices
  162.                         access=m2)
  163.                         gct -s -t bool /desktop/gnome/accessibility/keyboard/enable true
  164.             gct -s -t bool /desktop/gnome/interface/accessibility true
  165.                         gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_enable true
  166.                         gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_modifier_beep false
  167.                         gct -s -t bool /desktop/accessibility/gnome/keyboard/stickykeys_two_key_off false
  168.                         gct -s -t bool /desktop/gnome/applications/at/mobility/startup true
  169.                         gct -s -t string /desktop/gnome/applications/at/mobility/exec onboard
  170.                         kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/minor-motor-difficulties/,/usr/share/kubuntu-default-settings/kde-profile/motor-difficulties-pointing-devices/
  171.                         if [ -e /target/etc/xdg/xfce4/mcs_settings/keyboard.xml ]; then
  172.                             sed -i '/Sticky/ s/0/1/' /target/etc/xdg/xfce4/mcs_settings/keyboard.xml
  173.                         fi
  174.                         ;;
  175.         esac
  176. done
  177.